//package com.mininglamp.action;
//
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.OutputStream;
//import java.io.UnsupportedEncodingException;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.Iterator;
//import java.util.List;
//import java.util.Map;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//import org.apache.commons.io.IOUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.session.data.redis.RedisOperationsSessionRepository;
//import org.springframework.util.Assert;
//import org.springframework.web.multipart.MultipartFile;
//import org.springframework.web.multipart.MultipartHttpServletRequest;
//
//import com.mininglamp.utils.StringUtils;
//
//
//public abstract class BaseAction {
//	
//	@Value("")
//	private String fileUploadPath;
//	
//	@Autowired
//	private RedisOperationsSessionRepository sessionRepository;
//	//上传文件
//	public Map<String,Object> upload(HttpServletRequest req)
//	{
//	List<MultipartFile> list = this.extractUloadFile(req);
//	Map<String,Object> maps = new HashMap<String,Object>();
//	if(list!=null&&list.size()>0)
//	{
//		for(MultipartFile file:list)
//		{
//			if(file.getSize()<54485760)
//			{
//				String fileRealPathdir="";
//				String datepath = StringUtils.getUploadFolder();
//				
//				try {
//					fileRealPathdir = fileUploadPath;
//				} catch (Exception e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
//				String fileExt = getExt(file);
//				
//				String fileName = StringUtils.generatedId() + "."+ fileExt;
//				File fileSaveDir = new File(fileRealPathdir + datepath);
//				String filePath=datepath+File.separator+fileName;
//					try {
//						saveFile(fileSaveDir,fileName,file.getBytes());
//						maps.put("fileName", fileName);
//						maps.put("filePath", filePath);
//					} catch (Exception e) {
//						// TODO Auto-generated catch block
//						e.printStackTrace();
//					}
//			}
//		}
//	}else
//	{
//		maps.put("size", "error");
//	}
//		return maps;
//	}
//	/**
//	 * 保存文件到硬盘上
//	 * @param savedir
//	 * @param fileName
//	 * @param data
//	 * @throws Exception
//	 */
//	public void saveFile(File savedir,String fileName,byte[] data) throws Exception{
//		Assert.notNull(savedir, "savedir不能为空");
//		Assert.hasText(fileName, "fileName不能为空");
//		if(!savedir.exists()) {
//			savedir.mkdirs();//如果目录不存在则创建
//		}
//		File file = new File(savedir,fileName);
//		try {
//			FileOutputStream  outStream = new FileOutputStream(file);
//			outStream.write(data);
//			outStream.close();
//			}catch (FileNotFoundException e) {
//		
//		}
//	}
//	//获取文件后缀名
//	public static String getExt(MultipartFile file) {
//		return file.getOriginalFilename()
//				.substring(file.getOriginalFilename().lastIndexOf('.')+1)
//				.toLowerCase();
//	}
//	/**
//	 * springMvc获取文件
//	 * @param req
//	 * @return
//	 */
//	public List<MultipartFile> extractUloadFile(HttpServletRequest req){
//		List<MultipartFile> list =new ArrayList<MultipartFile>();
//		if((req instanceof MultipartHttpServletRequest) ==false )
//		{
//			return list;
//		}
//		MultipartHttpServletRequest mulReq = (MultipartHttpServletRequest)req;
//		Iterator<String> fileName =  mulReq.getFileNames();
//		while(fileName.hasNext())
//		{
//			MultipartFile file = mulReq.getFile(fileName.next());
//			if(!file.isEmpty())
//			{
//				list.add(file);
//			}
//		}
//		return list;
//	}
//	
//	/**
//	 * 附件下载
//	 * @param req
//	 * @param res
//	 * @param fileName
//	 */
//	public void downLoadFile(HttpServletRequest req,HttpServletResponse res,String fileName)
//	{
//		OutputStream outstream = null;
//		try {
//			req.setCharacterEncoding("utf-8");
//			outstream=res.getOutputStream();
//			String filePath = fileUploadPath+fileName;
//			String filename=new String((fileName).getBytes(),"iso-8859-1");
//			res.setContentType("application/octet-stream");
//			res.setHeader("Content-Disposition", "attachment; filename="+ filename);
//			File file = new File(filePath);
//			if(file.exists())
//			{
//				FileInputStream input = new FileInputStream(file);
//				IOUtils.copy(input, outstream);
//				IOUtils.closeQuietly(input);
//			}
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}finally{
//			if(outstream!=null){
//				try {
//					outstream.flush();
//					outstream.close();
//				} catch (IOException e) {
//					e.printStackTrace();
//				}
//			}
//			
//		}
//	}
//
//}
